package com.ovidiojf.fieldplan.equipe;

import java.util.ArrayList;
import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import javax.faces.context.FacesContext;
import javax.faces.model.SelectItem;

import com.ovidiojf.fieldplan.esporte.Esporte;
import com.ovidiojf.fieldplan.esporte.EsporteRN;

@ManagedBean(name="equipeBean")
@RequestScoped
public class EquipeBean {

	Equipe equipeSelecionada = new Equipe();
//	Esporte esporteSelecionado = new Esporte();
	List<Equipe> lista = null;
	private List<SelectItem> esportesSelectList = null;	
	
	
	public void salvar() {
		EquipeRN equipeRN = new EquipeRN();
		
//		equipeSelecionada.setEsporte(esporteSelecionado);
		
		if (this.equipeSelecionada.getId() != null && this.equipeSelecionada.getId() != 0) {
			equipeRN.alterar(equipeSelecionada);
		}
		else {
			equipeRN.salvar(equipeSelecionada);
			
			FacesMessage facesMessage = new FacesMessage("Atleta salvo com sucesso!");
			FacesContext facesContext = FacesContext.getCurrentInstance();
			facesContext.addMessage(null, facesMessage);
		}
			
		this.lista = null;
	}
	
	public void novo() {
		this.equipeSelecionada = new Equipe();
	}
	
	public void excluir() {
		
		EquipeRN equipeRN = new EquipeRN();
		equipeRN.excluir(equipeSelecionada);
		
		this.lista = null;
	}
	
	public Equipe getEquipeSelecionada() {
		return equipeSelecionada;
	}
	
	public void setEquipeSelecionada(Equipe equipeSelecionada) {
		this.equipeSelecionada = equipeSelecionada;
	}
	
//	public Esporte getEsporteSelecionado() {
//		return esporteSelecionado;
//	}
//
//	public void setEsporteSelecionado(Esporte esporteSelecionado) {
//		this.esporteSelecionado = esporteSelecionado;
//	}

	public List<Equipe> getLista() {
		
		if(lista == null) {
			EquipeRN equipeRN = new EquipeRN();
			lista = equipeRN.listar();
		}
		
		return lista;
	}

	public List<SelectItem> getEsportesSelectList() {
	
		if (esportesSelectList == null) {
			
			esportesSelectList = new ArrayList<SelectItem>();
			
			List<Esporte> list = new EsporteRN().listar();
			
			SelectItem item =null;
			
			for (Esporte esporte : list) {
				item = new SelectItem(esporte, esporte.getNome());
				esportesSelectList.add(item);
			}
		}
		
		return esportesSelectList;
	}	
}
